package transducer;

/**
 * Events that the transducer can fire
 * 
 * @author Jon Sun
 */
public enum TEvent
{
	/*Each of these corresponds to a conveyor that has sensors.  C1 is the first sensor, Oven is oven, C2 is
	 * the conveyor before the shipper and shipper is the shipper
	 * 
	 * The arguments of the events will be Integers to tell the receiver which sensor has been activated. 
	 *  
	 * For example, if the beginning sensor of C2 was to have a glass on top of it, then the gui would send an event over
	 * the SENSORS channel with the event C2 and with argument "11".  The first 1 stands for the sensor, (C2's sensor 1), 
	 * and the second 1 stands for true, meaning that there is something on the sensor.
	 * 
	 * If the beginning sensor of C2 was to have glass leave it, then the gui would send an event over the SENSORS channel
	 * with the event C2 and the argument "10".  The first 1 again meaning the first sensor and the 0 stands for false,
	 * meaning that the sensor is now "empty"
	 *
	 *                     ____________
	 *  _______ __________|            |_________ ____
	 * |SHIPPER|    C2    |    OVEN    |    C1  1|    |
	 * |       |          |            |        2|    |  <--Shuttle
	 * |2     1|         1|           1|        3| 1  |
	 * |_______|__________|____________|________4|____|
	 * */
	C1,
	C2,
	OVEN,
	SHIPPER,
	SHUTTLE,
	GLASSDONE,
	STOPSHIPPERCONVEYOR,
	STARTSHIPPERCONVEYOR,
	STARTOVEN,
	STOPOVEN,
	STARTCONVEYOR,
	STOPCONVEYOR
	
}